package socketTerminal;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

import conf.Configuracion;

import datatypes.DataTicket;
import datatypes.DataTicketVendido;

public class Venta {
	public DataTicketVendido HacerVenta(DataTicket msEnviar) throws ClassNotFoundException {
		String host 		= "localhost";//Configuracion.getInstance().getProperty(Configuracion.SERVIDOR_SOCKET_NOMBRE);
		int puerto 			= 9899;//Integer.parseInt(Configuracion.getInstance().getProperty(Configuracion.SERVIDOR_SOCKET_PUERTO));;
		Socket clientSocket = null;	
		DataTicketVendido msRecibido =new DataTicketVendido();
		try {
			try {			
				clientSocket 		= new Socket(host,puerto);				
				ObjectInputStream  	lectura;
				ObjectOutputStream 	escritura;
				escritura			= new ObjectOutputStream(clientSocket.getOutputStream());
			 	lectura 			= new ObjectInputStream (clientSocket.getInputStream());
			    escritura.writeObject(msEnviar); 
			    try {
					 msRecibido = (DataTicketVendido)lectura.readObject();
				} catch (ClassNotFoundException e) {
					System.out.println("Error al castear un objecto no esperado");	
				}
				clientSocket.close();
			} catch (IOException e) {
				System.out.println("No se pudo obtener una conexion con el Servidor");
			}
		} catch (Exception e) {
			
		} finally {
			try {
				clientSocket.close();
			} catch (IOException e) {
				System.out.println("Error, no se logro cerrar la conexion");
				e.printStackTrace();
			}			
		}
		return msRecibido;
	}	
}
